#ifndef _PRESENCEOUTTASK_H_
#define _PRESENCEOUTTASK_H_

#include "xmpp/xmppengine.h"
#include "xmpp/xmpptask.h"
#include "../Include/status.h"

namespace buzz {

class PresenceOutTask : public XmppTask {
public:
  PresenceOutTask(Task * parent) : XmppTask(parent) {}
  virtual ~PresenceOutTask() {}

  XmppReturnStatus Send(const Status & s);
  XmppReturnStatus SendDirected(const Jid & j, const Status & s);
  XmppReturnStatus SendProbe(const Jid& jid);

  virtual int ProcessStart();
private:
  XmlElement * TranslateStatus(const Status & s);
  scoped_ptr<XmlElement> stanza_;
};

}

#endif
